GGGGLLLL____RRRRGGGGBBBB11110000____AAAA2222____EEEEXXXXTTTT, GGGGLLLL____RRRRGGGGBBBBAAAA11112222____EEEEXXXXTTTT, or GGGGLLLL____RRRRGGGGBBBBAAAA11116666____EEEEXXXXTTTT.
_w_i_d_t_h Specifies the width of the texture image. Must be
2_n+2x_b_o_r_d_e_r for some integer _n.
_h_e_i_g_h_t Specifies the height of the texture image. Must be
2_m+_Ix_b_o_r_d_e_r for some integer _m, where _I is 2 when
GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is disabled, and 1 otherwise.
_d_e_p_t_h Specifies the depth of the texture image. Must be
GGGGLLLL____AAAABBBBGGGGRRRR____EEEEXXXXTTTT, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE, and GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA.
_t_y_p_e Specifies the data type of the pixel data. The following
symbolic values are accepted: GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE, GGGGLLLL____BBBBYYYYTTTTEEEE,
GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT, GGGGLLLL____IIIINNNNTTTT, and
GGGGLLLL____FFFFLLLLOOOOAAAATTTT.
_p_i_x_e_l_s Specifies a pointer to the image data in memory.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
Texturing maps a portion of a specified _t_e_x_t_u_r_e _i_m_a_g_e onto each graphical
primitive for which texturing is enabled. Three-dimensional texturing is
enabled and disabled using ggggllllEEEEnnnnaaaabbbblllleeee and ggggllllDDDDiiiissssaaaabbbblllleeee with argument
Texture images are defined with ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT. The arguments describe
the parameters of the texture image, such as height, width, depth, width
of the border, level-of-detail number (see ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr), and the
internal resolution and format used to store the image. The last three
arguments describe the way the image is represented in memory, and they
are identical to the pixel formats used for ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss.
If _t_a_r_g_e_t is GGGGLLLL____PPPPRRRROOOOXXXXYYYY____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT no data is read from _p_i_x_e_l_s, but
all of the texture image state is recalculated, checked for consistency,
and checked against the implementation's capabilities. If the
implementation cannot handle a texture of the requested texture size, it
will generate an error of GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____TTTTOOOOOOOO____LLLLAAAARRRRGGGGEEEE____EEEEXXXXTTTT and set all of the
image state to 0. (see ggggllllGGGGeeeettttEEEErrrrrrrroooorrrr). If _t_a_r_g_e_t is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT, data
is read from _p_i_x_e_l_s as a sequence of signed or unsigned bytes, shorts, or
longs, or single-precision floating-point values, depending on _t_y_p_e.
These values are grouped into sets of one, two, three, or four values,
depending on _f_o_r_m_a_t, to form elements.
When GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is enabled, only rows (0,2,4,...) of each _S-_T
slice (where the border is considered part of the slice) are defined.
Rows (1,3,5,...) are left undefined and can only be defined using
ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT or ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT. Note, that when
GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is enabled the total height (i.e., the height of
interior texture image plus twice the border) of the defined texture is
2x_h_e_i_g_h_t.
Each element of _p_i_x_e_l_s is converted to an RGBA element according to
_f_o_r_m_a_t, as detailed below. Except for GGGGLLLL____CCCCOOOOLLLLOOOORRRR____IIIINNNNDDDDEEEEXXXX, after the
conversion to RGBA, each component is multiplied by the signed scale
factor GGGGLLLL____cccc____SSSSCCCCAAAALLLLEEEE, added to the signed bias GGGGLLLL____cccc____BBBBIIIIAAAASSSS, and clamped to the
Each element is a single value, a color index. It is converted
to fixed point (with an unspecified number of zero bits to the
right of the binary point), shifted left or right depending on
the value and sign of GGGGLLLL____IIIINNNNDDDDEEEEXXXX____SSSSHHHHIIIIFFFFTTTT, and added to
GGGGLLLL____IIIINNNNDDDDEEEEXXXX____OOOOFFFFFFFFSSSSEEEETTTT (see ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr). The resulting index is
replicating the luminance value three times for red, green, and
blue.
Please refer to the ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss reference page for a description of the
acceptable values for the _t_y_p_e parameter.
An application may desire that the texture be stored at a certain
resolution, or that it be stored in a certain format. This resolution and
format can be requested by _i_n_t_e_r_n_a_l_f_o_r_m_a_t, but the implementation may not
support that resolution (The formats of GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA,
GGGGLLLL____RRRRGGGGBBBB, and GGGGLLLL____RRRRGGGGBBBBAAAA must be supported.) When a resolution and storage
format is specified, the implementation will update the texture state to
provide the best match to the requested resolution. The
GGGGLLLL____PPPPRRRROOOOXXXXYYYY____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT target can be used to try a resolution and
format. The implementation will compute its best match for the requested
storage resolution and format; this state can then be queried using
A one-component texture image uses only the red component of the RGBA
color extracted from _p_i_x_e_l_s. A two-component image uses the R and A
values. A three-component image uses the R, G, and B values. A four-
component image uses all of the RGBA components.
NNNNOOOOTTTTEEEESSSS
Texturing has no effect in color index mode.
The texture image can be represented by the same data formats and types
as the pixels in a ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss command, except that formats
GGGGLLLL____SSSSTTTTEEEENNNNCCCCIIIILLLL____IIIINNNNDDDDEEEEXXXX and GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT cannot be used, and type
GGGGLLLL____BBBBIIIITTTTMMMMAAAAPPPP cannot be used. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee and ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr modes affect
texture images in exactly the way they affect ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss.
A texture image with zero height, width, or depth indicates the null
texture. If the null texture is specified for level-of-detail 0, it is
as if texturing were disabled.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _t_a_r_g_e_t is not an accepted value.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _f_o_r_m_a_t is not an accepted value.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _t_y_p_e is not an accepted value.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _l_e_v_e_l is less than zero or greater than
log2(_m_a_x), where _m_a_x is the returned value of GGGGLLLL____MMMMAAAAXXXX____3333DDDD____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _i_n_t_e_r_n_a_l_f_o_r_m_a_t is not an accepted value.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _w_i_d_t_h, _h_e_i_g_h_t, or _d_e_p_t_h is less than
zero or greater than GGGGLLLL____MMMMAAAAXXXX____3333DDDD____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT, when _w_i_d_t_h, or _d_e_p_t_h
cannot be represented as 2_k+2_b_o_r_d_e_r for some integer _k, or when _height
cannot be represented as 2_k+_Ix_b_o_r_d_e_r, where _I is 2 when GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _b_o_r_d_e_r is not 0 or 1.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT is executed between
the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.
GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____TTTTOOOOOOOO____LLLLAAAARRRRGGGGEEEE____EEEEXXXXTTTT is generated if the implementation cannot
ggggllllIIIIssssEEEEnnnnaaaabbbblllleeeedddd with argument GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT
ggggllllGGGGeeeettttTTTTeeeexxxxLLLLeeeevvvveeeellllPPPPaaaarrrraaaammmmeeeetttteeeerrrr with a first argument of GGGGLLLL____PPPPRRRROOOOXXXXYYYY____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT
and a third argument of GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____RRRREEEEDDDD____SSSSIIIIZZZZEEEE____EEEEXXXXTTTT,
GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____DDDDEEEEPPPPTTTTHHHH____EEEEXXXXTTTT, GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____BBBBOOOORRRRDDDDEEEERRRR, or GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTTSSSS.
Convolution is supported only on RealityEngine, RealityEngine2, and VTX
systems. However, these systems do not support convolving images as they
are loaded into texture memory.
Histogramming and minmax are supported only on RealityEngine,
RealityEngine2, and VTX systems. However, these systems do not support
either operation on images as they are being loaded into texture memory.
Three-dimensional textures are supported only on RealityEngine,
RealityEngine2, and VTX systems. However, on these systems the following
apply:
1. The texture environment should be defined and texturing should be
enabled before loading textures.
2. Texture formats composed only of alpha are not supported.
3. Borders are not supported; hence the width of the border should be
0.
4. Proxy texture images are not supported.
5. 3D mipmaps are not supported. Hence, the minifying function must be
set to GGGGLLLL____NNNNEEEEAAAARRRREEEESSSSTTTT or GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR (see ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr).
6 3D texturing when rendering to pixmaps is not supported.